home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / ape-ad1a / cdxvbinp.cls < prev    next >
Text File  |  1999-09-20  |  2KB  |  69 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "CDXVBInput"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. ' VERY VERY VERY CLOSE TO COMPLETION!
  15. ' Alls thats missing is Joystick support... But I dont have a joystick anyway so how
  16. ' am I going to add it? :)
  17. '
  18. ' Just DONT FORGET TO ADD GUIDDEFS.BAS ALONG WITH THIS CLASS!!!
  19. ' GUIDDEFS.BAS contains code you need to a) Create this class and b) to use any input
  20. ' data!
  21.  
  22. Public m_lpDI As IDirectInputA
  23. Public m_lpDIDKeyboard As IDirectInputDeviceA
  24. Public m_lpDIDMouse As IDirectInputDeviceA
  25.  
  26. Private Sub Class_Terminate()
  27.       m_lpDIDKeyboard.UnAcquire
  28.       Set m_lpDIDKeyboard = Nothing
  29.       
  30.       m_lpDIDMouse.UnAcquire
  31.       Set m_lpDIDMouse = Nothing
  32.       
  33.       Set m_lpDI = Nothing
  34. End Sub
  35.  
  36. Public Sub Create(hInst As Long, hWnd As Long)
  37.       Dim res As Long
  38.  
  39.       DirectInputCreateA ByVal hInst, &H500, m_lpDI, Nothing
  40.       
  41.       m_lpDI.CreateDevice GUID_SysKeyboard, m_lpDIDKeyboard, Nothing
  42.       m_lpDIDKeyboard.SetDataFormat c_dfDIKeyboard
  43.       m_lpDIDKeyboard.SetCooperativeLevel hWnd, DISCL_NONEXCLUSIVE Or DISCL_FOREGROUND
  44.  
  45.       m_lpDI.CreateDevice GUID_SysMouse, m_lpDIDMouse, Nothing
  46.       m_lpDIDMouse.SetDataFormat c_dfDIMouse
  47.       m_lpDIDMouse.SetCooperativeLevel hWnd, DISCL_NONEXCLUSIVE Or DISCL_FOREGROUND
  48. End Sub
  49.  
  50. Public Sub ReAcquire()
  51.       m_lpDIDKeyboard.Acquire
  52.       m_lpDIDMouse.Acquire
  53. End Sub
  54.  
  55. Public Sub UnAcquire()
  56.       m_lpDIDKeyboard.UnAcquire
  57.       m_lpDIDMouse.UnAcquire
  58. End Sub
  59.  
  60. Public Sub UpdateMouse()
  61.       m_lpDIDMouse.GetDeviceState Len(MouseState), MouseState
  62.       If Err <> 0 Then m_lpDIDMouse.Acquire
  63. End Sub
  64.  
  65. Public Sub UpdateKeyboard()
  66.       m_lpDIDKeyboard.GetDeviceState 256, Keys(0)
  67.       If Err <> 0 Then m_lpDIDKeyboard.Acquire
  68. End Sub
  69.